The multimedia messaging service (MMS) as described, e.g., in the OMA Multimedia Messaging Service specification, Approved Version 1.2 May 2005, Open Mobile Alliance, OMA-ERP-MMS-V1_2-200504295-A.zip, which is available at the following URL http://www.openmobilealliance.org/Technical/release_program/mms_v1_2.aspxhttp://www.openmobilealliance.org/release_program/mms_v1_2.html, provides methods for the peer-to-peer and server-to-client transmission of various types of data including text, audio, still images, and moving images, primarily over wireless networks.
While the MMS provides standard methods for encapsulating such data, the type of data may be coded in any of a large number of standard formats such as plain text, 3GP video and audio/speech, SP-MIDI for synthetic audio, JPEG still images (details on any one of those refer to Multimedia Messaging Service, Media formats and codecs, 3GPP TS 26.140, V7.1.0 (2007-06), available at the following URL http://www.3gpp.org/ftp/Specs/html-info/26140.htm). Still images are frequently coded in the JPEG format for which a software library has been written by “The independent jpeg group” and published at ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz.
FIG. 1 illustrates one example of a MMS system architecture 100, including an Originating Node 102, a Service Delivery Platform 104, a Destination Node 106, and an Adaptation Engine 108. The Originating Node 102 is a device capable of communicating with the Service Delivery Platform 104 over a Network “A” 110. Similarly the Destination Node 106 is a device capable of communicating with the Service Delivery Platform 104 over a Network “B” 112. The Networks “A” and “B” are merely examples, shown to illustrate a possible set of connectivities, and many other configurations are also possible. For example, the Originating and Destination Nodes (102 and 106) may be able to communicate with the Service Delivery Platform 104 over a single network; the Originating Node 102 may be directly connected to the Service Delivery Platform 104 without an intervening network, etc.
The Adaptation Engine 108 may be directly connected with the Service Delivery Platform 104 over a link 114 as shown in FIG. 1, or alternatively may be connected to it through a network, or may be embedded in the Service Delivery Platform 104.
In a simple case, the Originating Node 102 may send a (multimedia) message that is destined for the Destination Node 106. The message is forwarded through the Network “A” 110 to the Service Delivery Platform 104 from which the message is sent to the Destination Node 106 via the Network “B” 112. The Originating and Destination Nodes (102 and 106) may for instance be wireless devices, the Networks “A” and “B” (110 and 112) may in this case be wireless networks, and the Service Delivery Platform 104 may be a computer system, which provides the multimedia message forwarding service.
In another instance, the Originating Node 102 may be a server of a content provider, connected to the Service Delivery Platform 104 through a data network, i.e. the Network “A” 110 may be the Internet, while the Network “B” 112 may be a wireless network serving the Destination Node 106 which may be a wireless device.
In a more general case, the capabilities of the Destination Node 106 may not include the ability to receive, decode, or display the message in the form in which it was sent from the Originating Node 102. In order for the Destination Node 106 to handle the message, the message received from the Originating Node 102 may be modified through an adaptation software module 116, comprising computer readable instructions stored in a computer readable medium, running in the Adaptation Engine 108 before the message is delivered to the Destination Node 106.
In the example configuration of FIG. 1, transmission of a message from the Originating Node 102 to the Destination Node 106 would involve the following five steps, assuming that message adaptation is required:    1: a “source message” is sent from the Originating Node 102 to the Service Delivery Platform 104;    2: the Service Delivery Platform 104 determines the capabilities of the Destination Node 106, for example by interrogating the Destination Node 106 directly or by consulting a database of capabilities;    3: the Service Delivery Platform 104 sends a request to the Adaptation Engine 108, the request including the original “source message”, and a description of the capabilities of the Destination Node 106;    4: the set of software modules 116 in the Adaptation Engine 108 performs the adaptation of the “source message” into an “adapted message”; and    5: the Adaptation Engine 108 returns the “adapted message” to the Service Delivery Platform 104 which forwards it to the Destination Node 106.
An overview of server-side adaptation for the Multimedia Messaging Service (MMS) is given in a paper “Multimedia Adaptation for the Multimedia Messaging Service” by Stéphane Coulombe and Guido Grassel, IEEE Communications Magazine, vol. 42, no. 7, pp. 120-126, July 2004.
Recent and continuing advances in the creation of media content in an ever increasing variety of formats, combined with the proliferation of capabilities and also different limitations of destination devices, have led to the need for a more flexible adaptation system that is scalable and provides increased performance and maintainability.